A cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere. If requested data is contained in the cache (i.e., cache hit), this request can be served by simply reading the cache, which is comparatively faster. Otherwise (i.e., cache miss), the data must be fetched from its original storage location, which is comparatively slower. Prefetching is the operation of loading data or instructions in cache in anticipation of their need. Thus, the greater the number of requests that can be served from the cache, the faster the overall system performance. Data in the cache which matches the data in a corresponding memory location is called clean data; and data in the cache which does not match the data in a corresponding memory location is called dirty data.